<template>
  <UploadExcel :on-success="success"></UploadExcel>
</template>

<script>
import { importEmployee } from "@/api/employees";
export default {
  data() {
    return {};
  },
  methods: {
    async success({ header, results }) {
      const userRelations = {
        入职日期: "timeOfEntry",
        手机号: "mobile",
        姓名: "username",
        转正日期: "correctionTime",
        工号: "workNumber"
      };
      var newArr = results.map(item => {
        // item 表示 {姓名：'dd',手机号：'138'}
        var userInfo = {}; // 定义一个空对象
        Object.keys(item).forEach(key => {
          // keys(item) 拿到 我上面的 键 {姓名,手机号}
          // 判断我定义的数组里面是否存在这连个时间
          if (
            userRelations[key] === "timeOfEntry" ||
            userRelations[key] === "correctionTime"
          ) {
            // new 一个时间对象，调用下方 格式化时间的函数 把item[key] 就是后台返回的数据中的时间 进行格式化处理
            userInfo[userRelations[key]] = new Date(
              this.formatDate(item[key], "/")
            );
          } else {
            // 将 我自己定义的数组中 的key 表示我所对应的值  作为 我定义的空对象中的键，  item[key] 我原来中文所对应的值
            userInfo[userRelations[key]] = item[key]; // 将原来中文对应的值 赋值原来英文对应的值
          }
        });
        return userInfo;
      });
      await importEmployee(newArr); // 接收一个数组
      this.$message.success("导入数据成功");
      this.$router.back(); // 回到上一个页面
    },
    // 转换excel 的日期格式
    formatDate(numb, format) {
      const time = new Date((numb - 1) * 24 * 3600000 + 1);
      time.setYear(time.getFullYear() - 70);
      const year = time.getFullYear() + "";
      const month = time.getMonth() + 1 + "";
      const date = time.getDate() - 1 + "";
      if (format && format.length === 1) {
        return year + format + month + format + date;
      }
      return (
        year +
        (month < 10 ? "0" + month : month) +
        (date < 10 ? "0" + date : date)
      );
    }
  }
};
</script>

<style>
</style>